/*
 * @(#) WorkerService.java Sep 10, 2011
 *
 * Copyright (c) 2011, Strong Technology. All Rights Reserved.
 * Strong Technology. CONFIDENTIAL
 */
package cn.strong.gweva.system.business.service;

import cn.strong.gweva.common.business.entity.PagerEntity;
import cn.strong.gweva.common.business.entity.db.JxkhWorkerEntity;
import cn.strong.gweva.system.business.entity.WorkerEntity;
import cn.strong.gweva.system.business.entity.WorkerSearchEntity;


/**
 * 工作人员管理service接口.
 * 
 * @author jincong
 * @version 1.0
 * @since Sep 10, 2011
 */
public interface WorkerService
{

	/**
	 * 新增工作人员.
	 * 
	 * @param jxkhWorkerEntity 工作人员信息
	 * @throws Exception 异常
	 */
	public void insert(JxkhWorkerEntity jxkhWorkerEntity) throws Exception;

	/**
	 * 更新工作人员.
	 * 
	 * @param jxkhWorkerEntity 工作人员信息
	 * @throws Exception 异常
	 */
	public void update(JxkhWorkerEntity jxkhWorkerEntity) throws Exception;

	/**
	 * 删除工作人员.
	 * 
	 * @param jxkhWorkerEntity 工作人员信息
	 * @throws Exception 异常
	 */
	public void delete(JxkhWorkerEntity jxkhWorkerEntity) throws Exception;

	/**
	 * 逻辑删除工作人员.
	 * 
	 * @param jxkhWorkerEntity 工作人员信息
	 * @throws Exception 异常
	 */
	public void logicDeleteWorker(JxkhWorkerEntity jxkhWorkerEntity) throws Exception;

	/**
	 * 工作人员分页查询.
	 * 
	 * @param pagerEntity
	 * @param workerSearchEntity
	 * @return 工作人员分页信息
	 * @throws Exception 异常
	 */
	public PagerEntity searchWorkerPage(PagerEntity pagerEntity,
			WorkerSearchEntity workerSearchEntity) throws Exception;

	/**
	 * 根据工作人员编号查询工作人员信息.
	 * 
	 * @param jxkhWorkerEntity 查询条件
	 * @return 工作人员信息
	 * @throws Exception 异常
	 */
	public WorkerEntity searchWorkerById(JxkhWorkerEntity jxkhWorkerEntity) throws Exception;
	
	/**
	 * 校验工作人员编号的存在性。
	 * 
	 * @param workerCode 工作人员编号
	 * @return 存在的件数
	 * @throws Exception
	 */
	public int checkWorkerCodeExist(String workerCode) throws Exception;
}
